Con relación a los operadores lineales y al espacio de las funciones cuadrado integrables:
a. Explique por qué el espacio de las funciones continuas no es un espacio adecuado para representar las observaciones funcionales.
Según el libro, se pueden definir espacios adecuados para cada conjunto de datos, por ejemplo: En el caso más simple, los números escalares pertenecen al espacio definido en la linea recta o números reales; en estadística multivariada, los datos son vectores que pertenecen a \(R^d\) donde \(d\) es la dimensión del vector. Para el caso de datos funcionales, se considera un espacio de dimensión infinita aunque las funciones sean observadas en tiempos discretos. El primer paso consiste en tomar las observaciones en los puntos discretos y convertirlos en objetos funcionales usando bases de expansión; por lo tanto, si consideramos una base de funciones trigonométricas obtenemos funciones continuas definidas en un intervalo \([a, b]\), es decir que se heredan las propiedades de las base. Teniendo en cuenta lo anterior y si adicionalmete agregamos la restricción de que las funciones deben ser diferenciables \(n\) veces, encontramos que el espacio más apropiado para definir estás funciones es el espacio \(L^2\), el espacio de funciones ciadrado integrables.
Explique por que la igualdad en el espacio \(L^2\) es en el sentido de casi siempre.
Qué propiedades tiene el operador de covarianza? Según el teorema 11.2.2 del libro \(Kokoszka, P., & Reimherr, M. (2017)\), las propiedades de un operador de covariaza \(C\) de un conjunto de funciones aleatorias cuadrado integrables son:
De acuerdo a las propiedades que presenta el operador de covarianza, presente una descomposición adecuada de este operador.
De acuerdo a las propiedades vistas anteriormente, podemos decir que B es un operador acotado de Hilbert-Schmidt, por lo cual admite la siguiente descomposición:
Donde \(\lambda_i\) son escalares, \(u_i\) es una base ortonormal, y:
Sea \(Ψ\) un operador integral con el kernel gaussiano \(ψ(t, s) = α exp(−(t^2 + s^2)/2)\).
Para que valores de \(\alpha\) \(Ψ\) es un operador de Hilbert-Schmidt.
Un Operador es de Hilbert Schmidt si la serie {\(\lambda_n^2\)} de los coeficientes de la descomposición espectral del operador es convergente, es decir,
Para \(\Psi = \sum_{n=1}^\infty \lambda_n \langle v_n,\cdot \rangle f_n\) los coeficientes satisfacen que, \(\sum_{n=1}^\infty \lambda_n^2 < \infty\)
Como el operador es simétrico,
\(\Psi(s,t) = \alpha e^{-\frac{t^2+s^2}{2}} = \alpha e^{-\frac{s^2+t^2}{2}} = \Psi(t,s)\)
y además es definido positivo para \(\alpha > 0\), es decir,
\(\langle \Psi x, x \rangle = \alpha \int x(t)\int e^{-\frac{t^2+s^2}{2}} x(s) dsdx = \alpha\int x(t) e^{-\frac{t^2}{2}}dt\int x(s) e^{-\frac{s^2}{2}}ds = \alpha\langle e^{-\frac{(\cdot)^2}{2}}, x \rangle^2 \geq 0\)
Se puede tomar la norma H-S del operador como la norma \(L^2[0,1]\times[0,1]\) del kernel; \(||\Psi||_{HS} = \sum_{n=1}^\infty \lambda_n^2 = \int_0^1\int_0^1 \psi^2(t,s)dtds\) Para que el orepador sea de Hilbert - Shmit \(\alpha\) debe ser tal, que la norma \(L^2\) del kernel sea acotada.
\(||\Psi||^2_{HS} = \int_0^1\int_0^1 \psi^2(t,s)dtds < \alpha^2\int_0^{\infty}\int_0^{\infty} e^{-(t^2+s^2)} dtds = \alpha^2\int_0^{\pi/2}\int_0^{\infty} e^{-r^2} rdrd\theta = \alpha^2\frac{\pi}{4}\)
Por tanto,
\(\sum_{n=1}^\infty \lambda_n^2 < \alpha^2\frac{\pi}{4} < \infty\)
Si \(\alpha\) es negativo, se puede decir que el operador tiene la siguiente forma, \(\Psi = - \Psi'\) Donde \(\Psi'\), tiene como kernel a \(\psi(t,s) = |\alpha|e^{-\frac{t^2+ s^2}{2}}\), entonces,
\(||\Psi||_{HS}^2 = \sum_{i=1}^{\infty}\langle -\Psi' e_i, -\Psi' e_i \rangle = ||\Psi'||_{HS}^2 <\alpha^2 \frac{\pi}{4}\)
Se concluye que cualquier \(\alpha\) diferente de cero funciona para tener un operador de Hilbert-Schmit.
Al ser un operador integral, se puede expresar \(\Psi (x)(t)\) como sigue,
\(\Psi (x)(t) = \int \alpha e^{-\frac{t^2+s^2}{2}} x(s)ds = \alpha e^{-\frac{t^2}{2}}\int x(s) e^{-\frac{s^2}{2}}ds\) y definiendo la siguiente función \(T(\cdot) = e^{-\frac{(\cdot)^2}{2}}\) se expresa \(\Psi x\) como \(\Psi x = \alpha T \langle T,x \rangle\) y se determina la norma \(L^2\) de \(\Psi x\)
\(||\Psi x||^2_{L^2} = \langle \alpha T \langle T,x \rangle, \alpha T \langle T,x \rangle \rangle = \alpha^2 \langle T,x \rangle^2 ||T||^2_{L^2}\)
por tanto,
\(||\Psi x||_{L^2} = |\alpha| \langle T,x \rangle ||T||_{L^2}\)
Ahora, seleccionando a \(x\) como la función tal que
sup{\(\alpha \langle T,y \rangle ||T||_{L^2}\) | \(||y||_{L^2} = 1\)} = \(|\alpha| \langle T,x \rangle ||T||_{L^2}\).
y sabiendo, por desarrollos anteriores, que \(||\Psi||_{HS} = ||T||^2 |\alpha|\)
podemos empezar asumiendo que \(||\Psi||_{L} < ||\Psi||_{HS}\) y entonces,
\(|\alpha| \langle T,x \rangle ||T||_{L^2} < ||T||^2_{L^2} |\alpha|\)
\(\langle T,x \rangle < ||T||_{L^2}\)
\(\langle T,x \rangle < ||T||_{L^2}||x||_{L^2}\) : \(||x||_{L^2} = 1\)
Esta última expresión es consistente con la desigualdad triangular aplicable a la norma \(L^2\) por tanto, la asunción del comienzo es cierta y derivable de la desigualdad triangular.
Como se mostró en el punto anterior, la norma del kernel se puede determinar como sigue,
\(||\psi||_{L^2} = ||T||^2_{L^2}|\alpha|\)
\(||T||^2_{L^2} = \int_0^1 e^{-t^2}dt = \frac{\sqrt{{\pi}}\operatorname{erf}\left(1\right)}{2}\)
\(||\psi||_{L^2} = |\alpha|\frac{\sqrt{{\pi}}\operatorname{erf}\left(1\right)}{2}\)
Retomando la representación representación del operador usada anteriormente,
\(\Psi x = \alpha T \langle T,x \rangle\)
Podemos proponer como \(e_1 = \dfrac{T}{||T||}\), \(\lambda_1 = \alpha||T||^2\), \(\{e_n\}\) el complemento ortogonal de \(e_1\) y \(\lambda_n = 0\) con \(n \geq 2\) y por tanto la descomposición espectral sería,
\(\Psi x = \lambda_1 \langle e_1,x \rangle e_1 = \alpha||T||^2 \langle \dfrac{T}{||T||},x \rangle \dfrac{T}{||T||} = \alpha T \langle T,x \rangle\)
Este resultado tambien es consistente con la condición de H-S pues,
\(||\Psi||^2_{HS} = \sum_{n=1}^\infty \lambda_n^2 = \lambda_1^2 = \alpha^2||T||^4 = ||\psi||^2_{L^2}\)
Una base óptima para representar funciones aleatorias es aquella que minimiza el siguiente valor esperado,
\(E||X-\mu||^2\)
Esta base optima se selecciona como la conformada por las funciones propias del operador de covarianza de la varibale aleatoria \(X\), donde el operador de covarianza es un operador integral simétrico, definido positivo y de Hilbert-Schmit con kernel de la forma,
\(c(t,s) = E((X(t)-\mu(t))(X(s)-\mu(s)))\)
Por la propiedades de este operador, se puede representar con la siguiente descomposición espectral,
\(Cx = \sum_{n=1}^\infty \lambda_n \langle x,v_n \rangle v_n\)
donde los \(v_n\) son las funciones propias del operador y forman una base ortonormal que minimiza a \(E||X-\mu||^2\) con mínimo igual a \(\sum_{n=1}^\infty \lambda_n\)
El problema de hallar las funciones y valores propios del operador de covarianza es un problema de maximización, puesto el maxímo de la norma \(||C||_L\) sujeto a \(\langle x,v_i \rangle = 0\) para \(i > n\) de logra en \(x = v_n\) y es \(\lambda_n\) donde \(v_n\) y \(\lambda_n\) son un vector y valor propio del operador de covarianza.
Este resultado es equivalente al minimizar $E$
Consideremos el estimador del operador de covarianza de una funci?n aleatoria X:
Los elementos propios \(u\) y \(\lambda\) de B se pueden estimar cómo los elementos propios de la matriz que estima a \(\hat{B}\). En efecto, sea \(X_1,X_2,...,X_n\) una muestra aleatoria en \(L^2\) con la misma distribución de \(X\), de la definición del valor propio y función propia se tiene la ecuación:
en donde: \(\hat{B}(t,s)\) es la estimación del kernel del operador de covarianza \(\hat{B}\), así:
En donde se asume que los datos funcionales están centrados. Considerando una discretización de la muestra evaluada en puntos \(t_1,t_2,...,t_m\) a partir de lo visto anteriormente se obtiene la siguiente estimación:
Lo cual como producto punto se ve así:
Reemplazando \(t\) en la ecuación en azul, por \(t_1,t_2,...,t_m\) obtenemos lo siguiente:
En el articulo “The Mahalanobis Distance for Functional Data with Applications to Classification” se describe un procedimiento que utiliza una extensión de la función de distancia de Mahalanobis para datos multivariados a datos funcionales. El proceso se puede resumir en los siguientes pasos:
Teniendo en cuenta que las observaciones no son observadas continuamente en un intervalo \([a, b]\), por lo tanto tampoco se puede obtener la función de semi-distanciade Mahalanobis, el primer paso consiste en usar bases de funciones para suavizar las curvas de tal manera que el proceso pueda ser bien aproximado mediante \(X_i (t) = \sum_{m-1}^{M} \beta_{im} \phi_{m} (t)\). Para obtener las estimaciones de los coeficientes usamos MCO minimizando la expresión:
\(\sum_{j=1}^{J_i}[ (X_i^{*} (t_{j,i}) - \sum_{m=1}^{M} \beta_{im} \phi_{m} (t_{i,j}) ) ]^2\).
Una vez todas la curvas están suavizadas, se obtiene la media funcional estimada y el operador de covarianza estimado, así: \(\hat\mu_{X} = \frac{1}{n} \sum_{i=1}^{n} X_{i}\) y \(\hat{\Gamma{X} (\eta)} = \frac{1}{n-1} \sum_{i=1}^{n} \langle X\_{i} -\mu_{X_{i}} ,\eta (X_{i} -\mu_{X_{i}})\rangle\)
Obtenemos funciones propias y los valores propiosde \(\hat\Gamma_{X}\) como \(\hat\psi_1, \hat\psi_2,...\) y \(\hat\lambda_1, \hat\lambda_2, ...\) respectivamente, tambien los scores de los componentes principales funcionales \(\theta_{i,k} = \langle X_{i} -\mu_{X_{i}} ,\psi \rangle\).
Finalmente podemos definir la función de semidistancia de Mahalanobis entre \(X_i\) y la media funcional \(\hat\mu_{X}\) como: \(d_{FM}^{K} (X_i, \hat\mu_{X}) = (\sum_{k=1}^{K} \hat\omega^2_{ik})^{1/2}\) donde los \(\hat\omega_{ik} = \hat \theta_{ik}/ \hat\lambda_{k}^{1/2}\) para \(k = 1, 2,...,K.\) y corresponden a los scores de los componenetes principales funcionales estandarizados.
La elección del parámetro de regularización \(K\) es un aspecto importante en la práctica dependiendo de la situación en la que se utiliza la semidistancia funcional de Mahalanobis. En el caso de la clasificación, elegimos el valor umbral \(K\) a través de validación cruzada leave-one-out.
En su verión multivariada, es un método usado para clasificacion. Su contraparte funcional se utiliza para clasificar una curva nueva \(X_0\) en alguno de los grupos ya preestablecidos. Para eso, se puede establecer 2 posibles caminos, si los grupos tienen la misma estructura de covarianza o cada uno de los grupos tiene una matriz de covarianza diferente, de esta manera, se aplican los mismos pasos mencinados anteriormente.
Consiste en asignar cada una de las observaciones nuevas en en algunos de los grupos, esto se hace teniendo en cuenta la media funcional de cada grupo y considerando si la estructura de covanrianza es la misma o diferente para los grupos, se asigna la nueva observación al grupo \(i\) cuando la semi-distacia de Mahalanobis entre la observacion nueva y la media funcional de cada grupo sea mínima. Este enfoque es más simple y más rápido con respecto a los demás. En la siguiente gráfica se observa las curvas para una muestra de datos.
En la siguiente gráfica se observa las curvas para una muestra de datos.
En la siguiente gráfica se compara los porcentajes de clasificación correcta en el conjunto de datos de tecator con cada uno se los 19 métodos de clasificación mencionados en el documento, se observa que los 2 mejores métodos son kMD y kMC la cuales corresponden a las semi-distancias de Mahalanobis teniendo en cuenta el operador de covarianza con la misma o diferente estructura para todos los grupos.
Se tienen 7 procesos aleatorios relacionados con la respuesta espectro gráfica de muestras de azúcar a determinadas longitudes de onda de excitación.
El conjunto de datos representa la información medida durante la espectrografía para 7 longitudes de onda de excitación. Por cada una de estas se registraron las señales del espectro muestreadas en intervalos de 0.5 nm y se tomaron 268 muestras en momentos diferentes. Es decir que cada proceso consta de 268 realizaciones y cada una de estas muestreadas con intervalos de 0.5 nm.
Encuentre las tres primeras funciones propias estimadas, grafíquelas y presente una explicación de ellas.
#ESTIMACIÓN DE LAS FUNCIÓN MEDIA Y EL KERNEL DEL OPERADOR DE COVARIANZA sin región de confianza
nbasis = 25
meancoef <- matrix(0, nrow = nbasis, ncol = 1)
for(i in 1:nbasis){
meancoef[i,1] <- mean(ajuste$fd$coefs[i,])
}
mean$fd$coefs <- meancoef
plot(mean)
## [1] "done"
#COVARIANZA
auxCenter <- smooth.basis(long.onda, sugar.fdata[,1], obs.fdpar.25)
Ci <- matrix(0, nrow = 571, ncol = 571)
for(i in 1:268){
xicoef <- ajuste$fd$coefs[,i]
xi_uCoef <- xicoef - meancoef
auxCenter$fd$coefs <- xi_uCoef
xi_u <- eval.fd(ajuste$argvals, fd(auxCenter$fd$coefs,auxCenter$fd$basis))
Ci <- Ci + xi_u%*%t(xi_u)
}
Ci <- Ci/268
filled.contour(long.onda,long.onda,Ci, col = heat.colors(20)
, main = "Contorno \n Función de Covarianza", cex.main = 1)
#EIGEN VALUES FUNCTIONS
#Matriz
lambda <- eigen(Ci)
n = 3
D <- lambda$vectors[,1:n]
#Optimización
pca <- pca.fd(fd(ajuste$fd$coefs,ajuste$fd$basis), nharm = 3, centerfns = TRUE)
plot(pca$harmonics) #Halladas con optimización
## [1] "done"
#Halladas con la matriz de covariza o bien el kernel discreto
plot(D[,1], ylim=c(-0.07,0.12), type = "l")
lines(-D[,2], col = 2)
lines(-D[,3], col = 3)
sum(lambda$values[1:2])/sum(lambda$values)
## [1] 0.9573554
Las primeras 2 funciones propias explican más del 90% de la varianza total del proceso.
Esto se puede visualizar en el gráfico de los valores propios del operador.
plot(pca$values)
#MATRIZ DE REGRESIÓN
psinvD <- solve(t(D)%*%D)%*%t(D)
#FUNCIÓN MEDIA EN LA BASE PROPIA
Cz <- psinvD%*%eval.fd(mean$argvals, fd(mean$fd$coefs,mean$fd$basis))
xieigeBi <- matrix(0, nrow = 571, ncol = 1)
zi <- matrix(0, nrow = n, ncol = 268)
zi_B <- matrix(0, nrow = n, ncol = 268)
auxCenter1 <- smooth.basis(long.onda, sugar.fdata[,1], obs.fdpar.25)
for(i in 1:268){
#Directamente en la base propia
ci <- psinvD%*%sugar.fdata[,i]
zi[,i] = ci-Cz
xieigeBi <- cbind(xieigeBi,D%*%ci)
#desde la base B-spline
xicoef <- ajuste$fd$coefs[,i]
xi_uCoef <- xicoef - meancoef
auxCenter1$fd$coefs <- xi_uCoef
zi_B[,i] <- psinvD%*%eval.fd(ajuste$argvals, fd(auxCenter1$fd$coefs,auxCenter1$fd$basis))
}
kl <- D%*%zi
plot(kl[,1]+eval.fd(mean$argvals, fd(mean$fd$coefs,mean$fd$basis)),type = "l",ylim=c(0,200), ylab="3 primeras obs")
for(i in 2:3){
lines(kl[,i]+eval.fd(mean$argvals, fd(mean$fd$coefs,mean$fd$basis)))
}
lines(mean, col = 3)
kl_B <- D%*%zi_B
plot(kl_B[,1]+eval.fd(mean$argvals, fd(mean$fd$coefs,mean$fd$basis)),type = "l",ylim=c(0,200), ylab="3 primeras obs")
for(i in 2:3){
lines(kl_B[,i]+eval.fd(mean$argvals, fd(mean$fd$coefs,mean$fd$basis)))
}
lines(mean, col = 3)
kl_P = eval.fd(mean$argvals, fd(pca$harmonics$coefs,pca$harmonics$basis))%*%t(pca$scores[1:3,])
plot(kl_P[,1]+eval.fd(mean$argvals, fd(mean$fd$coefs,mean$fd$basis)),type = "l",ylim=c(0,200), ylab="3 primeras obs")
for(i in 2:3){
lines(kl_P[,i]+eval.fd(mean$argvals, fd(mean$fd$coefs,mean$fd$basis)))
}
lines(mean, col = 3)
plot(pca$scores[,1])
mean(pca$scores[,1])
## [1] -1.11834e-14
Los scores se acumulan alrededor de cero cumpliendo el hecho de que tienen media cero, adicionalmente se organizan en forma eliptica alrededor del origen
pairs(~pca$scores[,1]+pca$scores[,2], data = pca$scores[,1:2])
ei <- eval.fd(mean$argvals, fd(pca$harmonics$coefs,pca$harmonics$basis))
cts <- pca$values[1]*ei[,1]%*%t(ei[,1]) + pca$values[2]*ei[,2]%*%t(ei[,2]) + pca$values[3]*ei[,3]%*%t(ei[,3])
filled.contour(long.onda,long.onda,cts, col = heat.colors(20)
, main = "Contorno \n Función de Covarianza en una base propia", cex.main = 1)
Considere todo los 7 procesos presentados en el conjunto de datos.
sugar <- readMat("data.mat")
Para que el suavizamiento de todo el proceso multivariado se realice bajo el mismo parámetro \(\lambda\) se define la función minimo.lambda() que sirve para determinar el valor de \(\lambda\) que minimiza el promedio del criterio de validación cruzada generalizada entre todas las curvas de la muestra para cada proceso.
Graficamos todas las curvas del proceso suavizadas
## NOTE: Either Arial Narrow or Roboto Condensed fonts are required to use these themes.
## Please use hrbrthemes::import_roboto_condensed() to install Roboto Condensed and
## if Arial Narrow is not on your system, please see https://bit.ly/arialnarrow
Una vez tenemos todas la curvas suavizadas para cada uno de los 7 procesos, aplicamos la metodologia de \(Berrendero\) así;
Para cada tiempo \(t\) obtenemos una matriz \(X(t)\) de dimension \(268 \times 7\), procedemos calculando la matriz \(\Sigma (t) = X'(t) X(t)\), y finalmente, a cada una de estas \(571\) le sacamos los valores y vectores propios.
Ahora procedemos a calcular los nuevos componentes \(Z(t)\) y la proyección de los indivusuos sobre el nuevo espacio
Encuentre las estimaciones de las tres primeras funciones propias multivariadas, grafíquelas y presente una explicación de ellas.
Cuántas funciones propias explican el 90 % de la varianza total del proceso. Aqui podemos comparar el resultado de las 2 métricas dadas en el documento \(\pi_{1r}\) y \(\pi_{2r}\)
## V2 V3 V4 V5 V6 V7 V8
## 89.78523 98.02693 99.41821 99.79451 99.92631 99.98430 100.00000
Usando la propuesta de Happ & Greven (2018):
#2.a
str(nuevafuncion$functions)
## MultiFunData with 7 elements:
## ---
## Element 1 : Functional data:
## 3 observations of 1-dimensional support with 571 sampling points.
## @argvals:
## [[1]]: int [1:571] 1 2 3 4 5 6 7 8 9 10 ...
##
## @X:
## num [1:3, 1:571] 0.022556 0.002379 -0.000754 0.021297 0.002252 ...
## ---
## Element 2 : Functional data:
## 3 observations of 1-dimensional support with 571 sampling points.
## @argvals:
## [[1]]: int [1:571] 1 2 3 4 5 6 7 8 9 10 ...
##
## @X:
## num [1:3, 1:571] -0.01143 -0.00145 -0.00059 -0.01103 -0.00139 ...
## ---
## Element 3 : Functional data:
## 3 observations of 1-dimensional support with 571 sampling points.
## @argvals:
## [[1]]: int [1:571] 1 2 3 4 5 6 7 8 9 10 ...
##
## @X:
## num [1:3, 1:571] -0.03635 -0.00492 0.00394 -0.03381 -0.00456 ...
## ---
## Element 4 : Functional data:
## 3 observations of 1-dimensional support with 571 sampling points.
## @argvals:
## [[1]]: int [1:571] 1 2 3 4 5 6 7 8 9 10 ...
##
## @X:
## num [1:3, 1:571] 0.03814 0.00223 -0.00465 0.03848 0.00228 ...
## ---
## Element 5 : Functional data:
## 3 observations of 1-dimensional support with 571 sampling points.
## @argvals:
## [[1]]: int [1:571] 1 2 3 4 5 6 7 8 9 10 ...
##
## @X:
## num [1:3, 1:571] 0.000671 -0.002395 0.002008 0.000594 -0.002133 ...
## ---
## Element 6 : Functional data:
## 3 observations of 1-dimensional support with 571 sampling points.
## @argvals:
## [[1]]: int [1:571] 1 2 3 4 5 6 7 8 9 10 ...
##
## @X:
## num [1:3, 1:571] 0.000188 -0.001619 0.001476 0.000166 -0.001432 ...
## ---
## Element 7 : Functional data:
## 3 observations of 1-dimensional support with 571 sampling points.
## @argvals:
## [[1]]: int [1:571] 1 2 3 4 5 6 7 8 9 10 ...
##
## @X:
## num [1:3, 1:571] 0.00479 -0.01667 0.019 0.00424 -0.01485 ...
## ---
plot(nuevafuncion$functions)
2b) Cuántas funciones propias explican el 90 % de la varianza total del proceso.
A partir de los resultados obtenidos en Summary podemos concluir que un total de dos funciones propias contienen el 90% de la explicación de la variabilidad, en donde la primera explica el 76% y la segunda explica el 19% seiguiente, lo cual acumulado contiene el 95% de la variabilidad total.
#2.b
summary(nuevafuncion)
## 3 multivariate functional principal components estimated with 7 elements, each.
## * * * * * * * * * *
## PC 1 PC 2 PC 3
## Eigenvalue 1.958658e+06 4.938031e+05 1.380943e+05
## Proportion of variance explained 7.560765e-01 1.906167e-01 5.330683e-02
## Cumulative proportion 7.560765e-01 9.466932e-01 1.000000e+00
2c) Graque el comportamiento de los valores propios y explique su comportaminto.
Como se puede apreciar en el gráfico, los valores propios se situan en 75,6% el primero, el segundo en 19% y el tercero en 4% aproximadamente.
#2.c
screeplot(nuevafuncion)
2d) Explique el comportamiento de los scores
#2.d
par(mfrow=c(1,2))
scoreplot(nuevafuncion)
matplot(nuevafuncion$scores[,1:2],lty=1)
plot(nuevafuncion$fit)